package com.hsh.erp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hsh.erp.domain.common.Result;
import com.hsh.erp.domain.dto.ProductDTO;
import com.hsh.erp.domain.entity.Product;
import com.hsh.erp.domain.vo.ProductVO;

import java.util.List;

/**
 * @author USER
 * @description 针对表【product】的数据库操作Service
 * @createDate 2024-05-30 16:21:43
 */
public interface ProductService extends IService<Product> {
    /**
     * 获取所有未删除的商品
     *
     * @param
     * @return
     */
    Result<List<ProductDTO>> getAll();

    /**
     * 列表查询
     *
     * @param
     * @return
     */
    Result<List<ProductDTO>> getList(ProductVO productVO);

    /**
     * 列表导出
     *
     * @param productVO
     * @return
     */
    Result export(ProductVO productVO);

    /**
     * 修改一条记录
     *
     * @param
     * @return
     */
    Result updateOne(ProductVO productVO);

    /**
     * 删除一条记录
     *
     * @param
     * @return
     */
    Result deleteOne(ProductVO productVO);

    /**
     * 新增一条记录
     *
     * @param
     * @return
     */
    Result addOne(ProductVO productVO);

    /**
     * 根据id获取名称
     *
     * @return
     */
    String getNameById(Integer id);

    /**
     * 获取所有 商品的sku，店铺Id，商品信息
     *
     * @return
     */
    List<ProductDTO> getProductListBySkuList(List<String> skuList);
}
